package cn.iocoder.boot.entity.gc;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

@Data
@TableName( "component_data_header_field")
public class ComponentDataHeaderField {

    @TableId(type = IdType.ASSIGN_ID)
    // id
    private Long id;

    // 表头的ID，用于关联一个产品的所有数据/表头属性
    private Long setId;

    // 属性序号，从1开始
    private Integer fieldIndex;

    // 属性表头名，每个集合唯一，表头的名称
    private String fieldName;

    // 属性表头英文名
    private String enName;

    // 属性key，每个集合唯一，系统内部使用，不展示给用户
    private String fieldKey;

    // 属性类别：1：全局公共，2：平台模板定义，3：商家模板定义，4：自定义
    private Integer fieldType;

    // 属性分组名称
    private String fieldGroupName;

    // 属性值类型：1：文本，2：数值，3：数值加单位，4：步长模式，5：枚举模式
    private Integer valueType;

    // 单位类型：和计量单位表对应，电压、电功率，引用自计量单位
    private String unitType;

    // 默认单位：如v，mv，w、cm、mm等，引用自计量单位中英文名
    private String unitDefault;

    // 是否必填：0：非必填，1：必填，默认0
    private Boolean nullable;

    // 文本最大长度：值类型是文本时，可用；空或者0则不限制长度
    private Integer maxLen;

    // 最小值：数值类型时有效，不约束则留空
    private Integer min;

    // 最大值：数值类型时有效，不约束则留空
    private Integer max;

    // 对应表格的列名，由程序自动填写
    private String position;

    // 是否主变量：0：否，1：是
    private Boolean main;

    // 是否有约束：0：否，1：是，表示在属性关系表中有约束
    private Boolean constraints;

    // 创建时间
    private Date createTime;

    // 更新时间
    private Date updateTime;

    // 创建人
    private String creator;

    // 更新人
    private String updater;

    // 删除标志
    private Boolean deleted;

    // 租户id
    private Integer tenantId;
}